package org.springmvc.dao;

import org.springframework.stereotype.Repository;
import org.springmvc.model.User;
import org.springmvc.pagination.Page;
import org.springmvc.pagination.Pageable;

/**
 * 用户管理DAO
 * @author 唐家林
 * @time 2015年11月2日
 */
@Repository
public class UserDao extends AbstractBaseDao<User>{

	/**
	 * 通过用户名获取用户信息
	 * @param name 用户名
	 * @return 返回用户信息
	 */
	public User getUser(String name) {
		return this.uniqueQuery(QueryType.HQL, "FROM User u WHERE u.isDeleted = FALSE AND u.name = ?", name);
	}

	/**
	 * 列表
	 * @param pageable 分页参数
	 * @return
	 */
	public Page<User> findList(Pageable pageable) {
		String hql = "SELECT _user FROM User AS _user WHERE _user.isDeleted = FALSE";
		return super.find(QueryType.HQL, hql, pageable);
	}
}
